<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/GermaneShanidze.Applications.Jokeri.LobbyDuplexService" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/GermaneShanidze.Applications.Jokeri.LobbyDuplexService" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:53434/FileSendService.svc?xsd=xsd2" namespace="GermaneShanidze.Applications.Jokeri.LobbyDuplexService" />
  <xs:complexType name="HostSessionMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q1="GermaneShanidze.Applications.Jokeri.LobbyDuplexService" base="q1:DuplexMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="Username" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="HostSessionMessage" nillable="true" type="tns:HostSessionMessage" />
  <xs:complexType name="JoinSessionMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q2="GermaneShanidze.Applications.Jokeri.LobbyDuplexService" base="q2:DuplexMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="SessionKey" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Username" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="JoinSessionMessage" nillable="true" type="tns:JoinSessionMessage" />
  <xs:complexType name="FileReceivedMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q3="GermaneShanidze.Applications.Jokeri.LobbyDuplexService" base="q3:DuplexMessage">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="FileReceivedMessage" nillable="true" type="tns:FileReceivedMessage" />
  <xs:complexType name="GeneralError">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q4="GermaneShanidze.Applications.Jokeri.LobbyDuplexService" base="q4:DuplexMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="ErrorMessage" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GeneralError" nillable="true" type="tns:GeneralError" />
  <xs:complexType name="HostSessionServerMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q5="GermaneShanidze.Applications.Jokeri.LobbyDuplexService" base="q5:DuplexMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="Failed" type="xs:boolean" />
          <xs:element minOccurs="0" name="SessionKey" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="HostSessionServerMessage" nillable="true" type="tns:HostSessionServerMessage" />
  <xs:complexType name="JoinSessionServerMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q6="GermaneShanidze.Applications.Jokeri.LobbyDuplexService" base="q6:DuplexMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="Failed" type="xs:boolean" />
          <xs:element minOccurs="0" name="Hostname" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="SessionNumber" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="JoinSessionServerMessage" nillable="true" type="tns:JoinSessionServerMessage" />
  <xs:complexType name="FileBeginUploadMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q7="GermaneShanidze.Applications.Jokeri.LobbyDuplexService" base="q7:DuplexMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="FileName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="TotalBytes" type="xs:long" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="FileBeginUploadMessage" nillable="true" type="tns:FileBeginUploadMessage" />
  <xs:complexType name="FileDenyMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q8="GermaneShanidze.Applications.Jokeri.LobbyDuplexService" base="q8:DuplexMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="Reason" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="FileDenyMessage" nillable="true" type="tns:FileDenyMessage" />
  <xs:complexType name="FileTransferBytesMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q9="GermaneShanidze.Applications.Jokeri.LobbyDuplexService" base="q9:DuplexMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="Bytes" nillable="true" type="xs:base64Binary" />
          <xs:element minOccurs="0" name="EndFile" type="xs:boolean" />
          <xs:element minOccurs="0" name="PacketSize" type="xs:long" />
          <xs:element minOccurs="0" name="StartByte" type="xs:long" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="FileTransferBytesMessage" nillable="true" type="tns:FileTransferBytesMessage" />
  <xs:complexType name="ChatMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q10="GermaneShanidze.Applications.Jokeri.LobbyDuplexService" base="q10:DuplexMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="IsPublic" type="xs:boolean" />
          <xs:element minOccurs="0" name="Message" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ChatMessage" nillable="true" type="tns:ChatMessage" />
  <xs:complexType name="ClientConnectedMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q11="GermaneShanidze.Applications.Jokeri.LobbyDuplexService" base="q11:DuplexMessage">
        <xs:sequence>
          <xs:element minOccurs="0" name="Username" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ClientConnectedMessage" nillable="true" type="tns:ClientConnectedMessage" />
  <xs:complexType name="ClientDisconnectedMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q12="GermaneShanidze.Applications.Jokeri.LobbyDuplexService" base="q12:DuplexMessage">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ClientDisconnectedMessage" nillable="true" type="tns:ClientDisconnectedMessage" />
  <xs:complexType name="HostDisconnectedMessage">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q13="GermaneShanidze.Applications.Jokeri.LobbyDuplexService" base="q13:DuplexMessage">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="HostDisconnectedMessage" nillable="true" type="tns:HostDisconnectedMessage" />
</xs:schema>